﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;

namespace BussinessLogicTecnoPez.Seguridad_Tecnopez
{
    [Serializable]
    public class FuncionesRol : IEnumerator, IEnumerable
    {
        ArrayList itemList = new ArrayList();
        int position = -1;

        [DBField("detail", false, false)]//este caso no pongo el nombre del campo en la BD, lo usa para encontrar la coleccion de items.
        public ArrayList ItemList
        {
            get { return itemList; }
            set { itemList = value; }
        }

        //IEnumerator and IEnumerable require these methods.
        public IEnumerator GetEnumerator()
        {
            position = -1;
            return (IEnumerator)this;
        }

        //IEnumerator
        public bool MoveNext()
        {
            position++;
            return (position < itemList.Count);
        }

        //IEnumerable
        public void Reset()
        { position = 0; }

        //IEnumerable
        public object Current
        {
            get { return itemList[position]; }
        }

        public void add(FuncionRol objFuncion)
        {
            foreach (FuncionRol auxItem in itemList)
            {
                if (auxItem.FuncionTecnopez.IdFuncionTecnopez == objFuncion.FuncionTecnopez.IdFuncionTecnopez)
                    throw new BussinessLogicTecnoPezException("La función ya ha sido agregado.");
            }
            itemList.Add(objFuncion);
        }
    }
}
